1. Field of the Invention
Embodiments of the present invention generally relate to image sequence transmission. More particularly, the present invention relates to a method and apparatus for estimating motion vectors for an image sequence.
2. Description of the Related Art
There is an increasing desire in many computing environments such as enterprise or home environments to separate the display from the storage and application processing portions of a computing system, i.e., remote computing where a server provides the computational power and the user utilizes a simple client terminal. For example, the display and input devices (e.g., portions of the client terminal) may be physically located at a user's desktop while the processing and storage components of a server are situated in a remote back office location. The client terminal is connected to the processor and storage components using some method of communication. A major challenge in supporting such a remote terminal lies in the development of efficient methods for communicating display content across a band-limited network while meeting display quality and performance latency expectations associated with a standard desktop PC.
Computer display images are well suited to inter-frame compression methods because of the large redundancy in content over a display refresh cycle coupled with the bit-exact nature of the synthetic image. Moreover, in certain operations such as the dragging or scrolling of windows, bit-exact image areas simply move from one region of the display to another. As such, changes from image to image within a sequence are determined by various image comparison techniques. For example, existing motion detection methods search a reference image for features located on a subsequent input image. Such feature detection is computational expensive due to a need to swap areas of reference image in and out of memory for comparison purposes. To improve computation speed, these comparison techniques are optimized for identifying short motion vectors by limiting a search area used for comparison.
Thin Client Compression Motion (TCC-M) estimation enables the calculation of long motion vectors by preprocessing images to allow large search areas with relatively less computation. The preprocessing represents image features as hash codes. The comparison process compares hash codes assigned to image features in an updated image region with hash codes assigned to features of a previous reference image, requiring a feature identification filter to scan the updated image and tables of hash values that locate the features. TCC-M is typically implemented in asynchronous image update applications where the search can be constrained to regions of the display that are known to have been updated since the previous update cycle, such as frame buffer transfer applications where updates are tracked by hardware registers. However, in a rasterized image processing application, the entire image would need to be characterized on each frame, making feature analysis computationally expensive.
Therefore, there is a need for a method and apparatus for motion vector estimation for image sequences in a digital raster stream.